package pe.edu.upc.dsd.javeros;

import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;

public class FacturacionServiceImpl  implements FacturacionService{
	
	private List<Facturacion> facturas = new ArrayList<Facturacion>();
	 private Logger logger = Logger.getLogger(getClass());
	 
	private FacturacionServiceImpl(){
		
		logger.debug("constructor Creando Facturas para pruebas: ");
		
		Facturacion fa = new Facturacion();
		Facturacion fa2 = new Facturacion();
    			
    	fa.setTelefono("1111111");
    	fa.setRuc(1433878570);
    	fa.setMes_pago("Agosto");
    	fa.setMonto_consumo_internet(300.00);
    	fa.setMonto_consumo_llamadas(400.00);
    	fa.setMonto_deuda_anterior(400.00);
    	fa.setMonto_sva(0.00);
    	fa.setNum_cuenta("12345678");
    	fa.setNum_recibo("nur89756680");
    	fa.setUltimo_dia_pago("21");
    	
		
    	fa2.setTelefono("2222222");
    	fa2.setRuc(1433878570);
    	fa2.setMes_pago("Julio");
    	fa2.setMonto_consumo_internet(600.00);
    	fa2.setMonto_consumo_llamadas(800.00);
    	fa2.setMonto_deuda_anterior(600.00);
    	fa2.setMonto_sva(0.00);
    	fa2.setNum_cuenta("87654321");
    	fa2.setNum_recibo("nur68923657");
    	fa2.setUltimo_dia_pago("30");
    	
    	this.registrarFactura(fa);
    	this.registrarFactura(fa2);
		
	}

	@Override
	public List<Facturacion> getFacturas() {
		logger.debug("listando facturas: ");
		return facturas;
	}
	

	@Override
	public void registrarFactura(Facturacion factura) {
		
	try{	
		  logger.debug("Agregando factura ");
		  facturas.add(factura);
		
	   } catch(NullPointerException e){
		  
		 System.out.print("Facturacion nula"); 
		  
	  }
	}
	
	@Override
	public Facturacion findFacturaXTelefono(String telefono){
		
		logger.debug("buscando factura: ");
		Facturacion fact = null;
		
		for(Facturacion fa : facturas){
			
			if(fa.getTelefono().equals(telefono)){
				
				fact = fa;
				break;
				
			}
		}
					
		return fact;
			
	}

}
